﻿using System;
using System.Collections.Generic;
using System.Text;
using com.clinica.business.BE.actdocpago;
using com.clinica.business.entities;
using com.clinica.dao.sql;
/****************************************************************************************
 * Sistema    : Sistema de Gestión de Clinica
 * Modulo     : Facturación y Presupuestos
 * Descripción: 
 * Autor      : JPEREZ
 * Fecha      : 2011-06-01
 ****************************************************************************************/

namespace com.clinica.DL.sql.actdocpago
{
    public static class DocumentoPagoDL
    {
        public static List<DocumentoPagoBE> ObtenerDocumentoPago(DocumentoPagoBE oLiquidacion, DateTime dtFecha_Inicio, DateTime dtFecha_Fin)
        {
            /****************************************************************************************
             * Sistema    : Sistema de Gestión de Clinica
             * Modulo     : Facturación y Presupuestos
             * Descripción: 
             * Autor      : JPEREZ
             * Fecha      : 2011-06-01
             ****************************************************************************************/

            List<DocumentoPagoBE> lst = new List<DocumentoPagoBE>();
            Comando cmd = new Comando();
            cmd.CommandName = "PRC_ObtenerDocumentosPago_02";
            cmd.AddParameter("@TipoDoc", oLiquidacion.TipoDocumentoPago);
            cmd.AddParameter("@Fecha_Emision_Desde", dtFecha_Inicio.ToString("yyyyMMdd"));
            cmd.AddParameter("@Fecha_Emision_Fin", dtFecha_Fin.ToString("yyyyMMdd"));
            cmd.AddParameter("@NroDocumento", oLiquidacion.NumeroDocumento);
            cmd.AddParameter("@NumeroDocPago", oLiquidacion.Numero);
            lst = (List<DocumentoPagoBE>)ElManager.EjecutarStore<DocumentoPagoBE>(cmd, DataBase.CLINICA_WEB);
            return lst;
        }
        public static List<DocumentoPagoBE> ObtenerDocumentoPago(DocumentoPagoBE oDoc)
        {
            /****************************************************************************************
             * Sistema    : Sistema de Gestión de Clinica
             * Modulo     : Facturación y Presupuestos
             * Descripción: 
             * Autor      : JPEREZ
             * Fecha      : 2011-06-01
             ****************************************************************************************/

            List<DocumentoPagoBE> lst = new List<DocumentoPagoBE>();
            Comando cmd = new Comando();
            cmd.CommandName = "PRC_ObtenerDocumentoPago_03";
            cmd.AddParameter("@NumeroDocPago", oDoc.Numero);
            lst = (List<DocumentoPagoBE>)ElManager.EjecutarStore<DocumentoPagoBE>(cmd, DataBase.CLINICA_WEB);
            return lst;
        }
        public static List<DocumentoPagoBE> ObtenerConsumos(DocumentoPagoBE oDoc)
        {
            /****************************************************************************************
             * Sistema    : Sistema de Gestión de Clinica
             * Modulo     : Facturación y Presupuestos
             * Descripción: 
             * Autor      : JPEREZ
             * Fecha      : 2011-06-01
             ****************************************************************************************/

            List<DocumentoPagoBE> lst = new List<DocumentoPagoBE>();
            Comando cmd = new Comando();
            cmd.CommandName = "PRC_BuscarLiquidacion_01";
            cmd.AddParameter("@CodPac", oDoc.CodigoPaciente);
            lst = (List<DocumentoPagoBE>)ElManager.EjecutarStore<DocumentoPagoBE>(cmd, DataBase.CLINICA_WEB);
            return lst;
        }
        public static List<DocumentoPagoBE> ObtenerLiquidacion(DocumentoPagoBE oDoc)
        {
            /****************************************************************************************
             * Sistema    : Sistema de Gestión de Clinica
             * Modulo     : Facturación y Presupuestos
             * Descripción: 
             * Autor      : JPEREZ
             * Fecha      : 2011-06-01
             ****************************************************************************************/

            List<DocumentoPagoBE> lst = new List<DocumentoPagoBE>();
            Comando cmd = new Comando();
            cmd.CommandName = "PRC_ObtenerLiquidacion_04";
            cmd.AddParameter("@Numero", oDoc.NumeroLiq);
            lst = (List<DocumentoPagoBE>)ElManager.EjecutarStore<DocumentoPagoBE>(cmd, DataBase.CLINICA_WEB);
            return lst;
        }
        public static List<DocumentoPagoBE> ActualizarDocumentoPago(int Accion,DocumentoPagoBE oDoc)
        {
            /****************************************************************************************
             * Sistema    : Sistema de Gestión de Clinica
             * Modulo     : Facturación y Presupuestos
             * Descripción: 
             * Autor      : JPEREZ
             * Fecha      : 2011-06-01
             ****************************************************************************************/

            List<DocumentoPagoBE> lst = new List<DocumentoPagoBE>();
            Comando cmd = new Comando();
            cmd.CommandName = "PRC_ActualizarDocumentoPago_05";
            cmd.AddParameter("@Accion", Accion);
            cmd.AddParameter("@TipoDoc", oDoc.TipoDocumentoPago);
            cmd.AddParameter("@Numero", oDoc.Numero);
            cmd.AddParameter("@CodEmpresa", oDoc.CodigoEmpresa);
            cmd.AddParameter("@CodPaciente", oDoc.CodigoPaciente);
            cmd.AddParameter("@Observ", oDoc.Observacion);
            cmd.AddParameter("@NumeroLiq", oDoc.NumeroLiq);
            lst = (List<DocumentoPagoBE>)ElManager.EjecutarStore<DocumentoPagoBE>(cmd, DataBase.CLINICA_WEB);
            return lst;
        }
    }
}
